package au.com.acpfg.misc.StringMatcher;
import java.util.List;
import org.knime.core.data.DataCell;
import org.knime.core.data.DataType;
import org.knime.core.data.vector.bitvector.DenseBitVector;
import org.knime.core.data.vector.bitvector.DenseBitVectorCellFactory;
public class MatchDensityPositionReporter implements MatchReporter {
public MatchDensityPositionReporter() {
}
@Override
public DataCell report(StringMatcherNodeModel m, String str)
throws Exception {
List<Extent> match_pos = m.getMatchPos();
if (match_pos == null)
return DataType.getMissingCell();
DenseBitVector bv = new DenseBitVector(str.length());
for (Extent e : match_pos) {
bv.set(e.m_start, e.m_end);
}
DenseBitVectorCellFactory f = new DenseBitVectorCellFactory(bv);
return f.createDataCell();
}
}